# 1、 list \  dict 所有操作 牢记
# 2、 a = [1,2,3,1,2,3,1,2,3,1,2] ， 去重
# -----------------------------------------------------------------------------------------------------
# a = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2]
# b = []
# for i in a:
#     if i not in b:
#         b.append(i)
# print(b)
# -----------------------------------------------------------------------------------------------------
# 3、 冒泡排序
# a = [1,6,2,9,0]  # 从小到大排序的列表  sort  reverse
# a = [1,6,2,9,0]
# -----------------------------------------------------------------------------------------------------
# a = [1, 6, 2, 9, 0]
# times = len(a) - 1
# while times > 0:
#     for y in range(len(a)-1):
#         if a[y] > a[y+1]:
#             a[y], a[y+1] = a[y+1], a[y]
#     times -= 1
# print(a)
# -----------------------------------------------------------------------------------------------------
# 4、 实现一个 用户系统
# 实现 用户的 注册、登录、修改密码、删除用户
# 要求：用户名不能重复、数据必须存储在 json文件中
# 用户名 长度 必须在6-20位之间，删除用户，必须校验用户密码
# 修改密码，需要输入原密码与新密码，且 新密码不能与旧密码一致
"""
欢迎来到xxx 用户系统，请输入您的操作指令
0 >>> 退出
1 >>> 注册
2 >>> 登录
3 >>> 修改密码
4 >>> 删除用户
"""
# # -----------------------------------------------------------------------------------------------------
import json

print('欢迎来到爱坤系统，请输入您的操作指令')
print('进入注册请输入：1')
print('进入登录请输入：2')
print('进入修改密码请输入：3')
print('进入删除用户请输入：4')
print('退出系统请输入：0')
# 读取数据
f = open('user.json', 'r', encoding='utf-8')
user = json.load(f)
f.close()
while True:
    shu = input('请输入指令')
    # 退出程序
    if shu == '0':
        break
    # 注册
    elif shu == '1':
        shuname = input('请输入用户名')
        if len(shuname) < 6 or len(shuname) > 20:
            print('用户名长度必须在6-20位之间')
        elif shuname in user:
            print('用户名已被注册，建议修改密码或登录')
        else:
            # -- 密码限制条件：密码必须包括大、小写字母.数字.其它,以上四种至少三种
            shupass = input('请输入密码')
            b = [0, 0, 0, 0]
            for i in shupass:
                if i.isupper():
                    b[0] = 1
                elif i.islower():
                    b[1] = 1
                elif i.isdigit():
                    b[2] = 1
                else:
                    b[3] = 1
            if b.count(1) > 2 and len(shupass) >= 8:
                user[shuname] = shupass
                print('注册成功！')
            else:
                print('密码必须包括大、小写字母.数字.其它,以上四种至少三种')

        # 写入数据
        user.update()
        f = open('user.json', 'w', encoding='utf-8')  # 以写的方式打开文件
        json.dump(user, f, ensure_ascii=False)
        f.close()  # 关闭文件

    # 登录
    elif shu == '2':
        shudname = input('请输入用户名')
        if shudname not in user:
            print('该账号没有注册，请注册')
        else:
            shudpass = input('请输入密码')
            if user[shudname] == shudpass:
                print("登录成功！")
            else:
                print('密码错误')

    # 修改密码
    elif shu == '3':
        shuname = input('请输入用户名')
        if len(shuname) < 6 or len(shuname) > 20:
            print('用户名长度必须在6-20位之间')
        elif shuname not in user:
            print('用户名未被注册')
        else:
            shuxpass = input('请输入旧密码')
            if user[shuname] != shuxpass:
                print('输入的密码有误')
            else:
                xpass = input('请输入新密码')
                if xpass == shuxpass:
                    print('新密码与旧密码不能一致')
                else:
                    print('修改成功')
                    user[shuname] = xpass

                    # 写入数据
                    user.update()
                    f = open('user.json', 'w', encoding='utf-8')  # 以写的方式打开文件
                    json.dump(user, f, ensure_ascii=False)
                    f.close()  # 关闭文件

    # 删除用户
    elif shu == '4':
        shusname = input('请输入用户名')
        if len(shusname) < 6 or len(shusname) > 20:
            print('用户名长度必须在6-20位之间')
        elif shusname not in user:
            print('用户名未被注册')
        else:
            shuspass = input('请输入密码')
            if user[shusname] != shuspass:
                print('输入的密码有误')
            else:
                user.pop(shusname)
                print('删除成功')

                # 写入数据
                user.update()
                f = open('user.json', 'w', encoding='utf-8')  # 以写的方式打开文件
                json.dump(user, f, ensure_ascii=False)
                f.close()  # 关闭文件
    else:
        print('输入的指令有误')
# -----------------------------------------------------------------------------------------------------

# # a = [1, 2, 2, 1] 判断这个列表是否属于回文体格式
# a = [1, 2, 3, 2, 1]
# # 切片
# if a == a[::-1]:
#     print('是个回文体')


# w = input("请输入：")
# w2 = ""
# for i in w:
#     w2 = i + w2
# print(w2)
#
# if w == w2:
#     print("是回文！")
# else:
#     print("不是回文！")

